With the advent of digital communications technology, many TV program streams are transmitted in digital formats. For example, Digital Satellite System (DSS),
Digital Broadcast Services (DBS), and Advanced Television Standards Committee (ATSC) program streams are digitally formatted pursuant to the well known Moving Pictures Experts Group 2 (MPEG-2) standard. The MPEG-2 standard specifies, among other things, the methodologies for video and audio data compression allowing for multiple programs, with different video and audio feeds, to be multiplexed in a transport stream traversing a single transmission channel. A digital TV receiver may be used to decode an MPEG-2 encoded transport stream, and extract the desired program therefrom.
In accordance with the MPEG-2 standard, video data may be compressed based on a sequence of groups of pictures (GOPs), made up of three types of picture frames, namely, intra-coded picture frames (“I-frames”), forward predictive frames (“P-frames”), and bilinear frames (“B-frames”). Each GOP may, for example, begin with an I-frame which is obtained by spatially compressing a complete picture using discrete cosine transformation (DCT). As a result, if a transmission error or a channel switch occurs, it is possible to resume correct decoding at the next I-frame. The GOP may represent additional frames by providing a much smaller block of digital data that indicates how small portions of the I-frame, referred to as macroblocks, move over time.
An I-frame is typically followed by multiple P-and B-frames in a GOP. Thus, for example, a P-frame occurs more frequently than an I-frame by a ratio of about 3 to 1. A P-frame is forward predictive and is encoded from the I-or P-frame that precedes it. A P-frame contains the difference between a current frame and the previous I-or P-frame. A B-frame compares both the preceding and the subsequent I-or P-frame data. The B-frame contains the average of matching macroblocks or motion vectors. Because a B-frame is encoded based upon both preceding and subsequent frame data, it effectively stores motion information.
Thus, MPEG-2 achieves its compression by assuming that only small portions of an image change over time, allowing the representation of these additional frames to be quite compact. Although GOPs have no relationship between themselves, the frames within a GOP have a specific relationship which builds off the initial I-frame.
The compressed video and audio data are typically carried by continuous elementary streams, respectively, which are broken into access units or packets, resulting in packetized elementary streams (PESs). These packets are identified by headers that contain time stamps for synchronizing, and are used to form MPEG-2 transport streams.
For digital broadcasting, multiple programs and their associated PESs are multiplexed into a single transport stream. A transport stream has PES packets further subdivided into short fixed-size data packets, in which multiple programs encoded with different clocks can be carried. A transport stream not only comprises a multiplex of audio and video PESs, but also other data such as MPEG-2 program specific information (sometimes referred to as metadata) describing the transport stream. The MPEG-2 metadata may include a program associated table (PAT) that lists every program in the transport stream. Each entry in the PAT points to an individual program map table (PMT) that lists the elementary streams making up each program. Some programs are open, but some programs may be subject to conditional access (encryption), and this information (i.e., whether open or subject to conditional access) is also carried in the MPEG-2 transport stream, typically as metadata.
The aforementioned fixed-size data packets in a transport stream each carry a packet identifier (PID) code. Packets in the same elementary streams all have the same PID, so that a decoder can select the elementary stream(s) it needs and reject the remainder. Packet-continuity counters may be implemented to ensure that every packet that is needed to decode a stream is received.
The well-known H.264/MPEG-4/AVC (Advanced Video Coding) standard is noted for achieving very high data compression and employs basic principles similar to those of MPEG-2, with a number of features that are enhanced, compared to MPEG-2, as will be familiar to the skilled artisan.
Use of digital video recorders (DVRs), also known as personal video recorders (PVRs), such as the TiVo® device (registered mark of TiVo Brands LLC, Alviso, California) and the R Replay TV® device (registered mark of Digital Networks North America Inc., Pine Brook, N.J.), is ubiquitous. Such devices may provide some benefits to TV viewers. For example, a prior art DVR allows a user to record his or her favorite TV programs for later review, and to exercise a season-pass-like option wherein every episode of his or her favorite program is recorded for some period. Such devices may automatically record programs for the user based on his or her viewing habits and preferences. The presentation of the recorded programming content can be manipulated by exercising rewind, pause, skip and/or fast-forward functions (hereinafter referred to as “trick mode” functions) furnished by the DVR.
U.S. Pat. No. 7,073,189 of McElhatten, et al. is entitled “Program guide and reservation system for network based digital information and entertainment storage and delivery system.” The disclosure of the aforesaid U.S. Pat. No. 7,073,189 of McElhatten, et al. is expressly incorporated herein by reference for all purposes. A “network PVR (NPVR)” (also referred to as an NDVR (Network Digital Video Recorder)) service allows the user to perform the analogous DVR functions through use of a network, rather than via a local DVR at the user premises. Unlike a DVR device, the NPVR service allows a user to “reserve” past and future programs for his or her review, even if such reserved programs were not identified by the user before their broadcast.
Note that “trick modes” or “trick play” refer to one or more of fast forward, reverse, pause, skip, and the like. Note also that an NDVR can be distinguished from a DVR in that the latter, storage of programs and the like is local to the DVR, while in the former (NDVR) case, such storage is at the server or head end level. US Patent Application Publication 20060062544 of Southwood et al. discloses an apparatus and method for programming a video recording device using a remote computing device. In particular, a recorder device, such as a VCR, digital video recorder, or the like, that can be programmed from a remote computing device, such as a personal computer mobile personal digital assistant, or cell phone, over a wired and/or wireless network is disclosed. The recording device includes a recording medium configured to record audio and/or video content. A controller, which is coupled to the recording medium, is configured to control the writing of audio and/or video content onto the recording medium and to control the reading of audio and/or video content stored on the recording medium. The recording apparatus also includes a network interface configured to receive recording commands generated by a remote computer and transmitted via a network coupled to the network interface and to provide the received recording commands to the controller, the recording commands defining a selected programming content to be recorded on the recording medium.